package com.ewing.extranal.im.service;

import java.util.List;

import com.ewing.extranal.im.dto.ImRelationInfo;
import com.ewing.extranal.im.dto.MessageItem;

/**
 * IM服务类
 * 
 * @author tansonlam
 * @createDate 2016年4月21日
 * 
 */
public interface ImService {

    /**
     * 标记消息为已读
     * 
     * @param messageId
     * @return
     */
    public Boolean update2Read(Long imUserId, Long relImUserId, String messageId);

    /**
     * 获取历史联系人
     * 
     * @param imUserId
     */
    public List<ImRelationInfo> getContactList(Long imUserId);

    /**
     * 增加联系人
     * 
     * @param imUserId IM的用户ID
     * @param relImUser 即将关联的IM用户ID
     */
    public ImRelationInfo addContact(Long imUserId, Long relImUser);

    /**
     * 删除联系人
     * 
     * @param imUserId
     * @param relImUser
     */
    public Boolean delContact(Long imUserId, Long relImUser);

    /**
     * 获取聊天记录
     * 
     * @param imUserId IM的用户ID
     * @param relImUserId 关联的IM用户ID
     * @param lastMessageId 最后的聊天记录ID
     * @return
     */
    public List<MessageItem> getChatHistory(Long imUserId, Long relImUser, String lastMessageId);

}
